package com.own.business.system.user.entity.bo;

import com.own.business.system.user.entity.po.SystemUserSecurity;
import com.own.component.common.base.entity.BaseBo;
import com.own.constant.ConstantBeanSuffix;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * SystemUserSecurityBo
 *
 * @author chenxueli
 * @date 2021/06/25 16:51:09
 */
@Schema(title = "系统用户账号安全" + ConstantBeanSuffix.BO)
@Getter
@Setter
@ToString
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class SystemUserSecurityBo extends BaseBo<SystemUserSecurity> {

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 是否允许使用姓名登录 1=允许 0=不允许
     */
    private Integer allowLoginName;

    /**
     * 是否允许使用手机号登录 1=允许 0=不允许
     */
    private Integer allowLoginPhone;

    /**
     * 是否允许使用短信验证码登录 1=允许 0=不允许
     */
    private Integer allowLoginSms;

    /**
     * 是否允许使用密码登录 1=允许 0=不允许
     */
    private Integer allowLoginPassword;

    /**
     * 是否允许使用邮箱登录 1=允许 0=不允许
     */
    private Integer allowLoginEmail;

    /**
     * 是否开启登录的ip验证 1需要 0不需要
     */
    private Integer allowLoginIp;

    /**
     * 允许登录的ip，登录ip设置127.0.0.1为全网都能登录
     */
    private String loginIps;

    /**
     * 转持久化对象
     *
     * @param entity 原持久化对象
     * @return 持久化对象
     */
    @Override
    public SystemUserSecurity toPo(SystemUserSecurity entity) {
        if (entity == null) {
            entity = new SystemUserSecurity();
        }
        entity.setFkUserId(userId);
        entity.setAllowLoginName(allowLoginName);
        entity.setAllowLoginPhone(allowLoginPhone);
        entity.setAllowLoginSms(allowLoginSms);
        entity.setAllowLoginPassword(allowLoginPassword);
        entity.setAllowLoginEmail(allowLoginEmail);
        entity.setAllowLoginIp(allowLoginIp);
        entity.setLoginIps(loginIps);
        return super.toPo(entity);
    }

}
